package cn.edu.zhku.service;

import cn.edu.zhku.dto.GroupDto;
import cn.edu.zhku.pojo.Group;
import cn.edu.zhku.pojo.Task;

import java.util.List;

public interface TaskService {

    void addOne(Task task);

    void distTaskBatch(Integer taskId, List<Integer> groupIds);

    void modifyOne(Task task);

    void removeTaskBatch(List<Integer> taskIds);

    void removeGroupBatch(Integer taskId, List<Integer> groupIds);

    Task findById(Integer taskId);

    boolean checkTaskExistByTaskIdBatch(List<Integer> taskIds);

    boolean checkTaskGroupExistByTaskIdAndGroupIdBatch(Integer taskId, List<Integer> groupIds);

    boolean checkTaskGroupNotExistByTaskIdAndGroupIdBatch(Integer taskId, List<Integer> groupIds);

    List<Task> findTaskTea(Task task);

    List<Group> findTaskGroupTea(GroupDto groupDto);

    List<Group> findGroupNotInTaskTea(GroupDto groupDto);

    Integer getTaskGroupNum(Integer taskId);
}
